package com.jindy.module.oaPayApproval.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jindy.activiti.domain.ProcessEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.jindy.common.annotation.Excel;
import com.jindy.common.core.domain.BaseEntity;

/**
 * 财务付款审批对象 sy_oa_pay
 *
 * @author jindy
 * @date 2023-06-16
 */
public class SyOaPay extends ProcessEntity
{
    private static final long serialVersionUID = 1L;

    /** 自增id */
    private Long id;

    /** 所属部门 */
    @Excel(name = "所属部门")
    private String dept;

    /** 所属部门id */
    @Excel(name = "所属部门id")
    private String deptId;

    /** 事项说明 */
    @Excel(name = "事项说明")
    private String description;

    /** 收款账号 */
    @Excel(name = "收款账号")
    private String account;

    /** 收款人 */
    @Excel(name = "收款人")
    private String accountName;

    /** 金额 */
    @Excel(name = "金额")
    private String money;

    /** 关联审批单id */
    @Excel(name = "关联审批单id")
    private String syPayId;

    /** 报销明细表id */
    @Excel(name = "报销明细表id")
    private String syPayDetailId;

    /** 报销表格id */
    @Excel(name = "报销表格id")
    private String syPayFormId;

    /** 报销类别 */
    @Excel(name = "报销类别")
    private String payType;

    /** 付款期限 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "付款期限", width = 30, dateFormat = "yyyy-MM-dd")
    private Date payTime;

    /** 不参与打印说明 */
    @Excel(name = "不参与打印说明")
    private String payExplain;

    /** 电子发票图片 */
    @Excel(name = "电子发票图片")
    private String billImage;

    /** 附件 */
    @Excel(name = "附件")
    private String addDocument;

    /** 图片 */
    @Excel(name = "图片")
    private String addImage;

    /** 申请人id */
    @Excel(name = "申请人id")
    private String applyUserId;

    /** 申请人姓名 */
    @Excel(name = "申请人姓名")
    private String applyUserName;

    /** 申请时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "申请时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date applyTime;

    /** 流程实例ID */
    @Excel(name = "流程实例ID")
    private String instanceId;

    /** 流程定义key */
    @Excel(name = "流程定义key")
    private String processKey;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 流水单号 */
    @Excel(name = "流水单号")
    private String serialNum;

    /** 审批状态 */
    @Excel(name = "审批状态")
    private String businessStatus;

    /** 报销明细列表 */
    private List<SyPayDetail> syPayDetailList;

    /** 报销表格列表 */
    private List<SyPayForm> syPayFormList;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setDept(String dept)
    {
        this.dept = dept;
    }

    public String getDept()
    {
        return dept;
    }
    public void setDeptId(String deptId)
    {
        this.deptId = deptId;
    }

    public String getDeptId()
    {
        return deptId;
    }
    public void setDescription(String description)
    {
        this.description = description;
    }

    public String getDescription()
    {
        return description;
    }
    public void setAccount(String account)
    {
        this.account = account;
    }

    public String getAccount()
    {
        return account;
    }
    public void setAccountName(String accountName)
    {
        this.accountName = accountName;
    }

    public String getAccountName()
    {
        return accountName;
    }
    public void setMoney(String money)
    {
        this.money = money;
    }

    public String getMoney()
    {
        return money;
    }

    public String getSyPayId() {
        return syPayId;
    }

    public void setSyPayId(String syPayId) {
        this.syPayId = syPayId;
    }

    public String getSyPayDetailId() {
        return syPayDetailId;
    }

    public void setSyPayDetailId(String syPayDetailId) {
        this.syPayDetailId = syPayDetailId;
    }

    public String getSyPayFormId() {
        return syPayFormId;
    }

    public void setSyPayFormId(String syPayFormId) {
        this.syPayFormId = syPayFormId;
    }

    public void setPayType(String payType)
    {
        this.payType = payType;
    }

    public String getPayType()
    {
        return payType;
    }
    public void setPayTime(Date payTime)
    {
        this.payTime = payTime;
    }

    public Date getPayTime()
    {
        return payTime;
    }
    public void setPayExplain(String payExplain)
    {
        this.payExplain = payExplain;
    }

    public String getPayExplain()
    {
        return payExplain;
    }
    public void setBillImage(String billImage)
    {
        this.billImage = billImage;
    }

    public String getBillImage()
    {
        return billImage;
    }
    public void setAddDocument(String addDocument)
    {
        this.addDocument = addDocument;
    }

    public String getAddDocument()
    {
        return addDocument;
    }
    public void setAddImage(String addImage)
    {
        this.addImage = addImage;
    }

    public String getAddImage()
    {
        return addImage;
    }
    public void setApplyUserId(String applyUserId)
    {
        this.applyUserId = applyUserId;
    }

    public String getApplyUserId()
    {
        return applyUserId;
    }
    public void setApplyUserName(String applyUserName)
    {
        this.applyUserName = applyUserName;
    }

    public String getApplyUserName()
    {
        return applyUserName;
    }
    public void setApplyTime(Date applyTime)
    {
        this.applyTime = applyTime;
    }

    public Date getApplyTime()
    {
        return applyTime;
    }
    public void setInstanceId(String instanceId)
    {
        this.instanceId = instanceId;
    }

    public String getInstanceId()
    {
        return instanceId;
    }
    public void setProcessKey(String processKey)
    {
        this.processKey = processKey;
    }

    public String getProcessKey()
    {
        return processKey;
    }
    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }
    public void setSerialNum(String serialNum)
    {
        this.serialNum = serialNum;
    }

    public String getSerialNum()
    {
        return serialNum;
    }
    public void setBusinessStatus(String businessStatus)
    {
        this.businessStatus = businessStatus;
    }

    public String getBusinessStatus()
    {
        return businessStatus;
    }

    public List<SyPayDetail> getSyPayDetailList() {
        return syPayDetailList;
    }

    public void setSyPayDetailList(List<SyPayDetail> syPayDetailList) {
        this.syPayDetailList = syPayDetailList;
    }

    public List<SyPayForm> getSyPayFormList() {
        return syPayFormList;
    }

    public void setSyPayFormList(List<SyPayForm> syPayFormList) {
        this.syPayFormList = syPayFormList;
    }

    @Override
    public String toString() {
        return "SyOaPay{" +
                "id=" + id +
                ", dept='" + dept + '\'' +
                ", deptId='" + deptId + '\'' +
                ", description='" + description + '\'' +
                ", account='" + account + '\'' +
                ", accountName='" + accountName + '\'' +
                ", money='" + money + '\'' +
                ", syPayId=" + syPayId +
                ", syPayDetailId=" + syPayDetailId +
                ", syPayFormId=" + syPayFormId +
                ", payType='" + payType + '\'' +
                ", payTime=" + payTime +
                ", payExplain='" + payExplain + '\'' +
                ", billImage='" + billImage + '\'' +
                ", addDocument='" + addDocument + '\'' +
                ", addImage='" + addImage + '\'' +
                ", applyUserId='" + applyUserId + '\'' +
                ", applyUserName='" + applyUserName + '\'' +
                ", applyTime=" + applyTime +
                ", instanceId='" + instanceId + '\'' +
                ", processKey='" + processKey + '\'' +
                ", delFlag='" + delFlag + '\'' +
                ", serialNum='" + serialNum + '\'' +
                ", businessStatus='" + businessStatus + '\'' +
                ", syPayDetailList=" + syPayDetailList +
                ", syPayFormList=" + syPayFormList +
                '}';
    }
}
